Pagina iniziale | Navigazione |
Google

PL/I

PL/I, (Programming Language One) è un linguaggio di programmazione progettato nel 1964 per lo sviluppo di applicazioni scientifiche, ingegneristiche o commerciali (il suo principale campo di applicazione è il data processing). La sintassi del linguaggio rispecchia quella della lingua inglese ed è pensata per poter descrivere e manipolare strutture dati complesse, il PL/I possiede infatti un corredo molto ampio di funzioni: i compilatori PL/I sono spesso dei sub-set del linguaggio, indirizzati a specifici settori applicativi. Il PL/I supporta la ricorsione e la programmazione strutturata.

Table of contents
1 Storia
2 Programma di esempio (Hello, world)
3 Standard
4 Vedi anche

Storia

Il PL/I è stato sviluppato dall'IBM all'interno del progetto dei sistemi 360 (S/360). Lo scopo del progetto era quello di costruire una famiglia di modelli compatibili che soppiantasse i computer sviluppati in precedenza, molto diversi ed incompatibili fra di loro. I nuovi modelli avrebbero dovuto essere utilizzabili sia in campo scientifico che per applicazioni commerciali.

Lo scopo del PL/I era di creare un linguaggio unico che potesse essere utilizzato sia per scopi scientifici che commerciali: all'epoca la maggior parte delle applicazioni scientifiche usava il Fortran, mentre il COBOL era utilizzato per le applicazioni commerciali. Un altro obiettivo era quello di aggiungere costrutti di programmazione strutturata, derivati dall'ALGOL, che né il Fortran né il COBOL possedevano. Il PL/I fu progettato, nel corso di alcuni mesi, da un comitato costituito da programmatori dell'IBM e da utenti provenienti dagli USA. L'obiettivo principale era quello di avere il PL/I disponibile in concomitanza col lancio degli S/360, ma sfortunatamente ciò non fu possibile.

Originariamente il nome del linguaggio avrebbe dovuto essere NPL (New Programming Language), ma l'acronimo era già utilizzato dal National Physical Laboratory in Inghilterra, e pertanto si scelse PL/I in sostituzione.

Il PL/I non ottenne il successo sperato per vari motivi, il maggiore di quali fu probabilmente la sua complessità che rese molto difficile una sua rapida implementazione. La complessità derivava probabilmente dal fatto che la sua progettazione era opera di un comitato che desiderava soddisfare le esigenze di un pubblico molto eterogeneo. Inoltre, il PL/I possedeva caratteristiche molto sofisticate ma che venivano usate raramente (ad esempio il multithreading), le quali aggiungevano il loro carico di complessità e costi ai compilatori. La complessità del compilatore fu probabilmente uno dei fattori che furono sottovalutati in fase di definizione del linguaggio. L'ottimizzazione del codice ottenuto era molto difficoltosa a causa della necessità di poter modificare le variabili in modo asincrono, rendendo difficile prevedere come una determinata variabile sarebbe stata modificata a run-time.

L'inerente complessità, il ritardo nell'implementazione, la scarsa qualità dei primi compilatori PL/I scoraggiarono gli utenti che si rivolsero al COBOL o al Fortran. Un altro grosso problema fu che, all'epoca, i programmatori Fortran, anziché guardare ai vantaggi che il PL/I poteva offrire loro, continuarono a considerarlo un linguaggio per applicazioni commerciali. Ironicamente i programatori COBOL considerarono il PL/I un linguaggio per applicazioni scientifiche.

Nonostante ciò il PL/I fu comunque utilizzato: il progetto Multics, uno dei primi tentativi di sviluppare un sistema operativo in un linguaggio ad alto livello, utilizzava il PL/I. Un sottoinsieme del PL/I, il PL/M, fu utilizzato per scivere il CP/M, mentre il dialetto XPL fu utilizzato per scrivere HAL/S, utilizzato sullo Space Shuttle. Un compilatore sviluppato dalla Cornell University per insegnare un dialetto del PL/I, il PL/C, aveva l'interessante caratteristica di non generare mai errori durante la compilazione di un programma: molti errori di sintassi venivano corretti automaticamente, mentre i rimanenti venivano semplicemente convertiti in istruzioni di stampa sullo schermo. Il primo sistema di prenotazione voli online (SABRE) fu scritto (o almeno si suppone sia stato scritto) in PL/I.

Il PL/I fu probabilmente il primo linguaggio "commerciale" dove il compilatore fu scritto nel linguaggio da compilare (il linguaggio sperimentale NELIAC fu il primo con questa caratteristica, cinque anni prima del PL/I, e molti altri seguirono).

Il PL/I è stato maggiormente usato nei mainframe IBM, ma ne esistono versioni per Microsoft Windows, AIX, OpenVMS, e Unix.

Programma di esempio (Hello, world)

Test: procedure options(main);

  declare My_String char(20) varying initialize('Hello, world!');
  
  put skip list(My_String);
  
end Test;

Standard

nel 1987 ANSI ha pubblicato

ANSI X3.74-1987 (R1998) Title: Information Systems - Programming Language - PL/I General-Purpose Subset

Vedi anche


GNU Fdl - it.Wikipedia.org




Google | 

Enciclopedia |  La Divina Commedia di Dante |  Mappa | : A |  B |  C |  D |  E |  F |  G |  H |  I |  J |  K |  L |  M |  N |  O |  P |  Q |  R |  S |  T |  U |  V |  W |  X |  Y |  Z |